This invention relates generally to process management in a computer system having an application programming language runtime and an operating system kernel, and more specifically to integrating the application programming language runtime and an operating system kernel in order to reduce memory and processing requirements and provide a secure process execution environment.
Several attempts have been made to integrate a programming language (and its runtime) with an operating system (OS). In typical systems application programming language and application programming language runtime are developed concurrently. The resulting systems enjoy the benefit of designing both the language and the OS together. Examples of these systems include: Cedar developed by Xerox Parc, Oberon developed at Zurich University and the Inferno OS developed by Lucent Technologies.
Cedar was spawned from an effort to create a combined hardware/software environment from which applications can be executed. The system is comprised of a hardware architecture and an operating system with an integrated programming language runtime. Cedar hosts a variety of personal applications. After an initial focus on proprietary hardware, the software was ported to general purpose hardware. The system targeted high end workstation hardware for use by professionals (e.g., engineers and office workers). While Cedar attempted to be an application programming language runtime with an operating system, it did so by designing the application programming language runtime together with an operating system. The combination did not specifically focus on reducing processing or memory usage.
Oberon was developed at the Swiss Federal Institute of Technology by Niklaus Wirth. Oberon had similar attributes to the Cedar system, it also began as a proprietary hardware/software platform. Again, the software was later ported to general purpose hardware. The system consisted of an OS and programming language designed together, with the intent of simplifying the language and software architecture. It was also designed for a high end workstation targeted for professionals. Oberon did not create a strong definition of application process separation, instead it encouraged the interaction of all applications to operate as one.
The Inferno OS was developed by Lucent Technologies and provides an operating system and programming language designed together to run on small networked devices intended to operate in a distributed computing environment. Inferno is yet another example of an OS and programming language being designed together and intended to operate only together. Inferno was designed as a distributed computing environment and was not object oriented.